package com.example.OnlineStorage.Dao;

import com.example.OnlineStorage.pojo.entity.ShareFiles;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
 * ShareFilesDao接口，用于操作共享文件表。
 * 该接口利用MyBatis和Spring框架的注解，定义了对共享文件的增删改查操作。
 */
@Mapper
@Repository
public interface ShareFilesDao {
	
	/**
	 * 插入共享文件到数据库。
	 *
	 * @param shareFiles 待插入的共享文件对象。
	 * @return 返回插入操作的影响行数。
	 */
 Integer insert(ShareFiles shareFiles);
	
	/**
	 * 根据文件ID删除共享文件。
	 *
	 * @param id 待删除文件的ID。
	 * @return 返回删除操作的影响行数。
	 */
 Integer delete(Long id);
	
	/**
	 * 更新共享文件的信息。
	 *
	 * @param shareFiles 待更新的共享文件对象。
	 * @return 返回更新操作的影响行数。
	 */
 Integer update(ShareFiles shareFiles);
	
	/**
	 * 根据文件ID查询共享文件。
	 *
	 * @param id 待查询文件的ID。
	 * @return 返回查询到的共享文件对象。
	 */
 ShareFiles select(Long id);
	
	/**
	 * 根据name 进行模糊查询共享文件夹。
	 *
	 * @param name 待查询的文件夹名称
	 * @return 返回查询到的共享文件夹对象数组
	 */
	ShareFiles[] selectByName(String name);
}

